Teaching Software Model Checking
نویسندگان
چکیده
The use of formal methods has become commonplace in hardware design, and is becoming increasingly widespread in software engineering. While formal methods have repeatedly been applied in safety-critical projects, their technologies and tools are not widely known, due to lack of in-depth education in current curricula. In this paper, we introduce the curriculum design of software model checking, which is part of a larger education program that addresses several issues in software engineering and formal methods in general. We will also touch upon the necessity of a formal methods body of knowledge (FMBOK) for the guidance of formal methods education.
منابع مشابه
A primer on model checking
40 acm Inroads 2010 March • Vol. 1 • No. 1 Model checking is a widely used formal method for the verifi cation of concurrent programs. This article starts with an introduction to the concepts of model checking, followed by a description of Spin, one of the foremost model checkers. Software tools for teaching concurrency and nondeterminism using model checking are described: Erigone, a model che...
متن کاملA primer on model checking
40 acm Inroads 2010 March • Vol. 1 • No. 1 Model checking is a widely used formal method for the verifi cation of concurrent programs. This article starts with an introduction to the concepts of model checking, followed by a description of Spin, one of the foremost model checkers. Software tools for teaching concurrency and nondeterminism using model checking are described: Erigone, a model che...
متن کاملTool Presentation: Teaching Concurrency and Model Checking
This paper describes a set of software tools developed for teaching concurrency and model checking. jSpin is an elementary development environment for Spin that formats and filters the output of a simulation according to the user’s specification. SpinSpider uses debugging output from Spin to generate a diagram of the state space of a Promela model; the diagram can be incrementally displayed usi...
متن کاملA Hybrid Meta-heuristic Approach to Cope with State Space Explosion in Model Checking Technique for Deadlock Freeness
Model checking is an automatic technique for software verification through which all reachable states are generated from an initial state to finding errors and desirable patterns. In the model checking approach, the behavior and structure of system should be modeled. Graph transformation system is a graphical formal modeling language to specify and model the system. However, modeling of large s...
متن کاملReachability checking in complex and concurrent software systems using intelligent search methods
Software system verification is an efficient technique for ensuring the correctness of a software product, especially in safety-critical systems in which a small bug may have disastrous consequences. The goal of software verification is to ensure that the product fulfills the requirements. Studies show that the cost of finding and fixing errors in design time is less than finding and fixing the...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008